/*
 * 测试 getter 和 setter (目前属于ES6规范)
 * 1、getter 也称作 "取值器"，用于获取某个字段的值
 * 2、setter 也称作 "设置器"，用于为某个字段赋值
 */

class Tiger {
    constructor(s){
        // 定义一个名称为 $name 的字段
        this.$name = s ;
    }
    // getter
    get name(){
        console.log( '取name属性的值' );
        // 在 getter 中返回当前实例的 $name 字段的值
        return this.$name ;
    }
    // setter
    set name(s) {
        console.log( '为name属性赋值' );
        // 在 setter 中为当前实例的 $name 字段赋值
        this.$name = s ;
    }
}

let t = new Tiger( '泰哥' );
console.log( t.$name ); // 输出 $name 字段的值
console.log( t.name ); // 输出 name 属性的值

t.name = '泰格' ; // set name( '泰格' )
console.log( t.name );